using System;
using System.Collections.Generic;
using System.Collections.Specialized;

namespace BizTalk.BuildGenerator
{
    /// <summary>
    /// 
    /// </summary>
    /// <remarks>
    /// <Exec Command='BTSTask AddResource /Source:$(DevelopmentBizTalkBindingFile) /Property:TargetEnvironment="Development" /ApplicationName:"$(ProductName)" /Type:System.BizTalk:BizTalkBinding ' />
    ///	<Exec Command='BTSTask AddResource /Source:$(UtilitiesAssemblyPath) /ApplicationName:"$(ProductName)" /Type:System.BizTalk:Assembly /Overwrite /Destination:"$(DeploymentDirectory)\Ukm.Integration.CaseManagement.Utilities.dll" /Options:GacOnAdd,GacOnInstall,GacOnImport' />
    ///		<Exec Command='BTSTask AddResource /Source:$(GeneratedTypesAssemblyPath) /ApplicationName:"$(ProductName)" /Type:System.BizTalk:Assembly /Overwrite /Destination:"$(DeploymentDirectory)\Ukm.Integration.CaseManagement.GeneratedTypes.dll" /Options:GacOnAdd,GacOnInstall,GacOnImport' />
    /// <Exec Command='BTSTask AddResource /Source:$(BizTalkAssemblyPath) /ApplicationName:"$(ProductName)" /Type:System.BizTalk:BizTalkAssembly /Overwrite /Destination:"$(DeploymentDirectory)\Ukm.Integration.CaseManagement.BizTalk.dll" /Options:GacOnAdd,GacOnInstall,GacOnImport' />
    /// 
    /// <!-- UnGac Everything -->
    ///	<Exec Command='"$(GacUtilPath)gacutil" /u Ukm.Integration.CaseManagement.GeneratedType' ContinueOnError="true"/>		
    ///	<Exec Command='"$(GacUtilPath)gacutil" /u Ukm.Integration.CaseManagement.BizTalk' ContinueOnError="true"/>
    ///	<Exec Command='"$(GacUtilPath)gacutil" /u Ukm.Integration.CaseManagement.Utilities' ContinueOnError="true"/>
    /// </remarks>
    [Serializable]
    public class ApplicationResource 
    {
        private string _FullName;
        private string _Type;
        private List<ResourceProperty> _Properties = new List<ResourceProperty>();
        private List<string> _References = new List<string>();
        private List<ApplicationResource> _DependantResources = new List<ApplicationResource>();

        public List<ApplicationResource> DependantResources
        {
            get { return _DependantResources; }
            set { _DependantResources = value; }
        }
        

        public string FullName
        {
            get { return _FullName; }
            set { _FullName = value; }
        }

        public List<string> References
        {
            get { return _References; }
            set { _References = value; }
        }

        public List<ResourceProperty> Properties
        {
            get { return _Properties; }
            set { _Properties = value; }
        }

        public string Type
        {
            get { return _Type; }
            set { _Type = value; }
        }
    }
}